【新機能】Amazon ElastiCache – RedisのスナップショットをS3にエクスポートする
こんにちは、せーのです。今日はElastiCacheの新機能をご紹介します。 現時点でも稼働中のElastiCacheからスナップショットを取ることが可能でしたが、このスナップショットをS3に吐くことが出来るようになりました。
用途
ElastiCacheからスナップショットを取る理由は言うまでもなくバックアップのため、なわけですが、これがS3に出力できると何ができるでしょうか。 S3に出力する、ということはつまり「別の環境でキャッシュデータが使える」ということを意味します。つまり主な用途としては
- DR対策: 災害時等にスナップショットデータを別環境にて使用する
- 分析: スナップショットデータを分析してキャッシュパターンを抑えることができるようになります
- 分配: スナップショットをとったキャッシュデータをすぐに他の環境にて使用することで連続したデータを使用したシステムの構築ができるようになります
やってみた
それではやってみましょう。まずはRedisでElastiCacheを立ててみます。
立てている間にエクスポート先のS3バケットを作ります。
作ったS3のバケットにパーミッションを追加します。東京リージョンでは
540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353
という文字列を被付与者に指定します。他のリージョンはこちらを確認下さい。権限は「リスト」「アップロード/削除」「パーミッションの表示」の3つです。
そうこうしている間にElastiCacheが出来上がりました。スナップショットをとってみます。
いい感じに名前をつけます。
作ったスナップショットを指定して「COPY SNAPSHOT」ボタンを押下します。
ここでエクスポートしたいS3のバケット名を入れます。
後はスナップショットを作るだけ。
出来上がるとバケット内にファイルが入ります。
ちなみに別のElastiCacheを作る時にこのスナップショットを使いたい時はキャッシュクラスタの作成時にバケット、オブジェクト名の入力欄がありますので、こちらに先ほどのS3パスを入力して下さい。
まとめ
いかがでしょうか。とても簡単にキャッシュデータの受け渡しが出来ました。Webサイトやアプリ等を作っている方にはこの機能は開発の手助けになるかと思います。ぜひご活用下さい。